package com.tools.web.work.qr;

import com.google.zxing.common.BitMatrix;
import com.tools.common.object.CustomHandler;
import com.tools.common.object.Note;

/**
 * 自定义方法
 * 用于设置二维码的颜色
 * */
@Note("自定义方法用于设置二维码的颜色")
public abstract class QRColorFun extends CustomHandler {

    public QRColorFun() {
    }

    public QRColorFun(Object parameter) {
        super(parameter);
    }

    public QRColorFun(Object... parameters) {
        super(parameters);
    }

    public QRColorFun(Iterable parameters) {
        super(parameters);
    }

    /**
     * @param qrCode 二维码实例
     * @param x 二维码的 x 轴坐标
     * @param y 二维码的 y 轴坐标
     * @param width 二维码宽度
     * @param height 二维码高度
     * @param frontColor 二维码前景色
     * @param backgroundColor 二维码背景色
     * @return 传入像素坐标等信息，自定义逻辑设置该坐标的颜色返回，构造出自己心仪颜色的二维码
     * */
    @Note("传入像素坐标等信息，自定义逻辑设置该坐标的颜色返回，构造出自己心仪颜色的二维码")
    public abstract int getColorInt(BitMatrix qrCode, int x, int y, int width, int height, int frontColor, int backgroundColor);
}
